home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-05-25 | 32.0 KB | 1,102 lines | [TEXT/MACA] |
-
- ' Code by: Mike Lininger
- ' 385 Bowling Green Place
- ' Gahanna, Ohio 43230
- ' (614) 471-6209 (BBS)
-
- 5-25-90
-
- I am making most of my code available to anyone interested in developing
- their own Second Sight/Tabby utilities. This source is not designed to be
- compiled and run. It is missing key functions and pieces of code that are
- Copyright me and others, that are not to be released at this time.
-
- This code is for example purposes only. It illustrates various ways of reading
- writing and process data from a variety of SS/Tabby files. It illustrates
- the use of Block Reads and Indexes amoung other things.
-
- If you use any portion of this code you must abide by two rules, or you
- void the agreement that I am making with you and are subject what the law
- dictates.
-
- They are simple.
-
- 1. If you us any of this code you must give Michael Lininger and Lininger
- Technology credit in both the program and the documentation.
-
- 2. It is agreed I am to receive a free copy of the program whether it is
- free, sharware or commercial.
-
- Now you must read on a little further and we will be done.
-
- A little history on why I choose ZBasic as the root for my utilities.
- I use to be one of those people that would smirk every time some mentioned
- they were using BASIC (until 3 years ago I and others had ever right to
- smirk) and would say how nice. But thought yeh! Real programmers only use
- C or Assembler.
-
- Then came along Microsofts QuickBasic for the IBM. This baby was hot
- it gave you all features of C and Pascal, plus core logic of Assembler,
- all packaged into a neat super easy to learn and use package. This cut out
- months of development work plus the finial applications were a hell of a lot
- better looking, cause you could do so much in a short period of time.
- This set the tide for a new generation of Basic's. Zedcor introduced ZBasic
- for the mac, which gave complete control over the toolbox plus it compiled
- into nice neat assembly and was fast.
-
- ZBasic I have found to be extremely powerful and fast, in most cases it
- matches or out performs the best C compilers out there. Now when someone
- says heh I finished this great C project that I have been working on for 6
- months, I now smirk and say how nice. But think yeh! I could have done
- the same thing in 1/4 the time and saved you 300,000.00 and ended up with
- a lot cleaner and more professional looking product all at the cost of an
- extra 14k of file size.
-
- The only draw back to ZBasic is it lack of Data structures, but this is
- made up for the use of Indexes. C programmer salivate all over the place
- at the mention of theses babies. They give you performance you never dreamed
- of. Now of we could just get Zedcor to give us a dozen more, WOW.
-
- Moral of the story - DO NOT EVER underestimate the POWER of Compiled Basic.
-
- Have at it. I hope a lot of people will use this as a jumping off point
- and dive into creating a flood of new SS/Tabby utilities.
-
- I can be reached on the networks if you have questions.
-
- 614-471-6209 9600 baud
- 614-471-5733 2400 baud
-
- M.Lininger Genie
- Mike Lininger FidoNet (Tabby, RRH, MANSION echoes)
- Mike Lininger 1:226/200
- Mike Lininger via cmhGate - Net 226 fido<=>uucp gateway Col, OH
- UUCP: ...!ous-cis!n8emr!cmhgate!200.2!Mike.Lininger
- INET: Mike.Lininger@p2.f200.n226.z1.FIDONET.ORG
-
-
-
- ' Code is in ZBasic 5.0
- ' Settings 8,2,4,5,50,mklt,TEXT,LONG,Space Req. after Keywords
- ' MKLs - Creator
- ' TSun - Type
- ' SunDial 2.1 Last Modified 7-23-89
- ' Resources STR's 1770-1771
-
-
- ' To Prevent your application from say "You will not be able to print"
- ' if it does not find a Print Driver in your system do the following
- ' on the finial campiled application. DO NOT DO IT ON ZBASIC ITSELF.
- ' Use FEDIT do a Hex search for 50EDFD3C and change 50ED to FD3C.
-
- ' Sets up application. Turns off Startup Window, Sets Default Mouse
- WINDOW OFF
- COORDINATE WINDOW
- DEF MOUSE=-1
- WIDTH -2
- FLUSHEVENTS
-
- DIM T%,L%,B%,R%,MY%,MX% ' Required for Toolbox calls
- DIM 80 Tabby$(100)
- DIM a$(100)
- Field%=1:ERROR=0:Cur%=128
- RRHost$="Red Ryder Host"
-
- ' convert string resource to a string, handle must be passed to this function
-
- LONG FN ReturnString$(SHndl&)
-
- FByte%=PEEK(PEEK LONG(SHndl&))
- String$=""
-
- FOR I%=1 TO FByte%
- String$=String$+CHR$(PEEK(PEEK LONG(SHndl&)+I%))
- NEXT I%
-
- END FN = String$
-
-
- WINDOW 1,"Aurora Borealis BBS - 614-471-6209",(12,75)-(500,198),17
- GOSUB "Cursor_Spin"
- GOSUB "Build_Window"
- GOSUB "Cursor_Spin"
-
- ScreenLine$="Loading Resources .....
- GOSUB "Screen_Log_Display"
- GOSUB "Cursor_Spin"
- GOSUB "Get_Resource_Values"
- GOSUB "Cursor_Spin"
-
- ' Checks to see if mouse key is down, if so then goto configure menu
-
- MOUSE ON
- DEF MOUSE = 0
- Hold%=MOUSE(3)
- LONG IF Hold% <> 0
-
- GOSUB "Cursor_Spin"
- DEF MOUSE = -1
- WINDOW CLOSE #1
- GOSUB "Configure Menu"
- IF rscs%=1 THEN rscs%=0:CALL CLOSERESFILE(Refnum%)
- CURSOR 0
- END
-
- END IF
- MOUSE OFF
- DEF MOUSE = -1
-
- IF LEN(BBSFolder$)<=1 THEN BBSFolder$=""
- NextLaunch$=BBSFolder$+"Launch.Next"
- TabbyNet$=BBSFolder$+"TabbyNet"
- IF RRHost$="" THEN RRHost$="Red Ryder Host"
- RRHost$=BBSFolder$+RRHost$
- ConfigFile$=BBSFolder$+"Config"
- NextEvent$=BBSFolder$+"Next Event
-
- GOSUB "Cursor_Spin"
- ScreenLine$="Checking "+ConfigFile$+"/"+NextEvent$
- GOSUB "Screen_Log_Display"
- GOSUB "Cursor_Spin"
- GOSUB "Check_Valid_SystemFiles"
- GOSUB "Cursor_Spin"
-
- LONG IF FileErr4%=255
- ScreenLine$="File Not Found - "+ConfigFile$
- GOSUB "Screen_Log_Display"
- ErrLine$ = "<<Error 01>> *"+ConfigFile$+"* Does not Exist at end of Indicated Path! or 1.4 version! or Damaged!"
- GOSUB "Error Log"
- GOTO "Update_Skip"
- END IF
-
- LONG IF FileErr5%=255
- ScreenLine$="File Not Found - "+NextEvent$
- GOSUB "Screen_Log_Display"
- ErrLine$ = "<<Error 02>> *"+NextEvent$+"* Does not Exist at end of Indicated Path! "
- GOSUB "Error Log"
- GOTO "Update_Skip"
- END IF
-
-
- "Set_New_Time"
-
- GOSUB "Cursor_Spin"
- ScreenLine$="* Calculating New Launch Time *"
- GOSUB "Screen_Log_Display"
-
- Address%=VAL("&H20C")
- Seconds1904&=PEEK LONG(Address%):TDHold$=TIME$
- GOSUB "Cursor_Spin"
-
- LONG IF NextEventError%=0
-
- Hr%=VAL(LEFT$(TDHold$,2))
- Mn%=VAL(MID$(TDHold$,4,2))
-
- LONG IF TabbyHour% < Hr%
-
- LONG IF TabbyMinute% < Mn%
- a%=((24-Hr%)+TabbyHour%)-1
- XELSE
- a%=(24-Hr%)+TabbyHour%
- END IF
- GOSUB "Cursor_Spin"
-
- XELSE
-
- LONG IF TabbyMinute% < Mn%
- a%=(TabbyHour%-Hr%)-1
- XELSE
- a%=TabbyHour%-Hr%
- END IF
- GOSUB "Cursor_Spin"
-
- END IF
-
- LONG IF TabbyMinute% < Mn%
- b%=(60-Mn%)+TabbyMinute%
- XELSE
- b%=TabbyMinute%-Mn%
- END IF
-
- GOSUB "Cursor_Spin"
- NewSeconds&=a%*3600
- NewSeconds&=NewSeconds&+(b%*60)
- NewLaunchTime&=Seconds1904&+NewSeconds&
- CALL IUTIMESTRING (NewLaunchTime&,1,RTime$)
- CALL IUDATESTRING (NewLaunchTime&,1,RDate$)
- l%=LEN(RTime$)
- LONG IF l% >= 11
- Sc%=VAL(MID$(RTime$,7,2))
- XELSE
- Sc%=VAL(MID$(RTime$,6,2))
- END IF
- NewLaunchTime&=NewLaunchTime&-Sc%
- GOSUB "Cursor_Spin"
-
- CalErr%=0
- ON ERROR GOSUB "ConfigFile_Error"
- IF CalErr%=255 THEN GOTO "Update_Skip"
- OPEN "R",1,ConfigFile$,348
- RECORD #1,0,308
- WRITE #1,NewLaunchTime&
- CLOSE #1
- ON ERROR RETURN
- GOSUB "Cursor_Spin"
- ScreenLine$="* New Launch Time is - "+RTime$+" *"
- GOSUB "Screen_Log_Display"
-
- END IF
-
- "Update_Skip"
-
- GOSUB "Cursor_Spin"
- GOSUB "Tabby_Launch"
- ErrLine$ = "<<Error 00>> Everything Failed to Launch, Dropping to Finder "
- GOSUB "Error Log"
- IF rscs%=1 THEN rscs%=0:CALL CLOSERESFILE(Refnum%)
- CURSOR 0
- END
-
-
-
-
- "ConfigFile_Error"
-
- GOSUB "Cursor_Spin"
- CalErr%=255
- ErrLine$ = "<<Error"+STR$(ERROR)+">> *"+ConfigFile$+"* Problems with this file! (Read/Write)! "
- GOSUB "Error Log"
- ERROR=0
- RETURN
-
-
- "Build_Window"
-
- GOSUB "Cursor_Spin"
- CALL PENNORMAL
-
- LONG IF WINDOW(0)=1
- T=40:L=14:B=80:R=480:PEN 1,1,1,8
- CALL PAINTRECT(T)
- T=36:L=11:B=74:R=476:PEN ,,,,19
- CALL PAINTRECT(T)
- PEN ,,,,0
- CALL FRAMERECT(T)
- T=69:L=345:B=114:R=474
- CALL PAINTROUNDRECT(T,16,16)
- T=66:L=341:B=110:R=471:PEN ,,,,19
- CALL PAINTROUNDRECT(T,16,16)
- PEN ,,,,0
- CALL FRAMEROUNDRECT(T,16,16)
- TEXT 0,12,0,0:T=72:L=342:B=104:R=467:TEMP$="Written By"+CHR$(13)+"Michael Lininger"
- CALL TEXTBOX(VARPTR(TEMP$)+1,LEN(TEMP$),T, 1)
- T=17:L=20:B=43:R=136
- CALL PAINTROUNDRECT(T,16,16)
- T=13:L=17:B=39:R=133:PEN ,,,,19
- CALL PAINTROUNDRECT(T,16,16)
- PEN ,,,,0
- CALL FRAMEROUNDRECT(T,16,16)
- T=18:L=30:B=34:R=119:TEMP$="Sundial 2.1"
- CALL TEXTBOX(VARPTR(TEMP$)+1,LEN(TEMP$),T, 1)
- END IF
-
- CALL PENNORMAL
- GOSUB "Cursor_Spin"
- RETURN
-
-
-
- "Get_Resource_Values"
-
- ' This module Gets default values from STR resources
- ' 1770 = BBS Application Name
- ' 1771 = Pathname To BBS Folder
-
- ' Find out what this application is named
-
- GOSUB "Cursor_Spin"
- CurApName=&H910
- CurApName$=""
- GOSUB "Cursor_Spin"
-
- FOR I%=1 TO PEEK(CurApName)
- CurApName$=CurApName$+CHR$(PEEK(CurApName+I%))
- NEXT I%
-
- rscs%=0:' ResFile is Closed
- Refnum%=FN OPENRESFILE(CurApName$)
- Errnum%=FN RESERROR
-
- LONG IF Errnum% <> 0
- ScreenLine$="Resource Problem with "+CurApName$
- GOSUB "Screen_Log_Display"
- ErrLine$ = "<<Error RS>> *"+CurApName$+"* has a resource fork problem, Can't Open, Find STRs "
- GOSUB "Error Log"
- GOSUB "Tabby_Launch"
- ErrLine$ = " *RS* That is it folks, I am confuzzzzzed dropping to Finder *** "
- GOSUB "Error Log"
- ScreenLine$="***** Dropping to Finder *****"
- GOSUB "Screen_Log_Display"
- FOR j% = t TO 1000
- GOSUB "Cursor_Spin"
- NEXT j%
- CURSOR 0
- IF rscs%=1 THEN rscs%=0:CALL CLOSERESFILE(Refnum%)
- END
- END IF
-
- rscs%=1:' ResFile is Open
- FOR ResourceCount%=1770 TO 1771
-
- GOSUB "Cursor_Spin"
- StrHnd&=FN GETRESOURCE(CVI("STR "),ResourceCount%)
-
- LONG IF StrHnd&=0
-
- ' Setting up string resource to save default strs
- IF ResourceCount% = 1770 THEN Str$="Red Ryder Host":RRHost$=Str$
- IF ResourceCount% = 1771 THEN Str$=":":BBSFolder$=Str$
-
- StrHnd&=FN NEWSTRING(Str$)
- CALL ADDRESOURCE (StrHnd&,CVI("STR "),ResourceCount%,"")
-
- XELSE
-
- StrHnd&=FN GETSTRING(ResourceCount%)
-
- END IF
-
- ' Convert STRs into useful limit values and pathnames
-
- Default$=FN ReturnString$(StrHnd&)
-
- IF ResourceCount% = 1770 THEN RRHost$=Default$
- IF ResourceCount% = 1771 THEN BBSFolder$=Default$
-
- NEXT ResourceCount%
- GOSUB "Cursor_Spin"
-
- RETURN
-
-
-
-
-
- "Tabby_Launch"
-
- GOSUB "Cursor_Spin"
- EventCount%=0:ERROR=0
-
- ScreenLine$="Checking for Launch.Next File"
- GOSUB "Screen_Log_Display"
-
- GOSUB "Cursor_Spin"
- OPEN "R",1,NextLaunch$
- Length&=LOF(1,1)
- CLOSE #1
- GOSUB "Cursor_Spin"
-
- LONG IF Length&=0
- ScreenLine$="File Not Found "+NextLaunch$
- GOSUB "Screen_Log_Display"
- ErrLine$ = "<<Error 03>> *"+NextLaunch$+"* Does not Exist at end of Indicated Path! "
- GOSUB "Error Log"
- KILL NextLaunch$
- GOTO "Launch_Sequence_Start"
- END IF
-
- GOSUB "Cursor_Spin"
- ScreenLine$="Loading Event Chain"
- GOSUB "Screen_Log_Display"
- GOSUB "Cursor_Spin"
-
- DEF OPEN "TEXTQED1"
- OPEN "I",1,NextLaunch$
-
- WHILE NOT EOF(1)
-
- GOSUB "Cursor_Spin"
- INPUT #1,Tabby$(EventCount%)
- EventCount%=EventCount%+1
-
- WEND
- CLOSE #1
- GOSUB "Cursor_Spin"
-
- EventCount%=EventCount%-1
-
- LONG IF EventCount% < 1
- GOSUB "Cursor_Spin"
- ScreenLine$="Last Event Deleting Launch.Next "
- GOSUB "Screen_Log_Display"
- GOSUB "Cursor_Spin"
- KILL NextLaunch$
- XELSE
- ScreenLine$="Updating Launch.Next File "
- GOSUB "Screen_Log_Display"
- GOSUB "Cursor_Spin"
- DEF OPEN "TEXTQED1"
- OPEN "O",1,NextLaunch$
- FOR Count%= 1 TO EventCount%
- GOSUB "Cursor_Spin"
- PRINT #1,Tabby$(Count%);
- GOSUB "Cursor_Spin"
- LONG IF Tabby$(Count%+1) = ""
- PRINT #1,CHR$(13);
- XELSE
- PRINT #1,",";
- END IF
- NEXT Count%
- CLOSE #1
- END IF
-
- "Launch_Sequence_Start"
-
- LaunchFile$=BBSFolder$+Tabby$(0)
-
- IF UCASE$(Tabby$(0))="BBS" THEN LaunchFile$=RRHost$
-
- GOSUB "Check_Valid_Filenames"
-
- ON ERROR GOSUB "Tabby_Launch_Error"
-
- LONG IF Tabby$(0) <> ""
-
- GOSUB "Cursor_Spin"
- ScreenLine$="Launching - "+LaunchFile$
- GOSUB "Screen_Log_Display"
-
- CURSOR 0
- LONG IF FileErr1%=255
- ScreenLine$="File Not Found - "+LaunchFile$
- GOSUB "Screen_Log_Display"
- ErrLine$ = "<<Error 04>> *"+LaunchFile$+"* Does not Exist at end of Indicated Path! "
- GOSUB "Error Log"
- ErrLine$ = " "+"Attempt is being Made to Run *"+RRHost$+"* "
- GOSUB "Error Log"
-
- ScreenLine$="Launching BBS - "+RRHost$
- GOSUB "Screen_Log_Display"
- LONG IF FileErr2%=0
- ScreenLine$="BBS Not Found - "+RRHost$
- GOSUB "Screen_Log_Display"
- ErrLine$ = "<<Error 05>> *"+RRHost$+"* Does not Exist at end of Indicated Path! "
- GOSUB "Error Log"
- ErrLine$ = " "+"Attempt is being Made to Run *"+TabbyNet$+"* "
- GOSUB "Error Log"
-
- ScreenLine$="Launching TabbyNet - "+TabbyNet$
- GOSUB "Screen_Log_Display"
- LONG IF FileErr3%=255
- ScreenLine$="TabbyNet Not Found - "+TabbyNet$
- GOSUB "Screen_Log_Display"
- ErrLine$ = "<<Error 06>> *"+TabbyNet$+"* Does not Exist at end of Indicated Path! "
- GOSUB "Error Log"
- ErrLine$ = " *** That is it folks, I am confuzzzzzed dropping to Finder *** "
- GOSUB "Error Log"
- ScreenLine$="***** Dropping to Finder *****"
- GOSUB "Screen_Log_Display"
- FOR j%=1 TO 1000
- GOSUB "Cursor_Spin"
- NEXT j%
- CURSOR 0
- IF rscs%=1 THEN rscs%=0:CALL CLOSERESFILE(Refnum%)
- END
- XELSE
- RUN TabbyNet$
- END
- END IF
- XELSE
- RUN RRHost$
- END
- END IF
- XELSE
- RUN LaunchFile$
- END
- END IF
-
- XELSE
-
- CURSOR 0
- ScreenLine$="Last Event Launching BBS - "+RRHost$
- GOSUB "Screen_Log_Display"
- LONG IF FileErr2%=255
- ScreenLine$="BBS Not Found - "+RRHost$
- GOSUB "Screen_Log_Display"
- ErrLine$ = "<<Error 07>> *"+RRHost$+"* Does not Exist at end of Indicated Path! "
- GOSUB "Error Log"
- ErrLine$ = " "+"Attempt is being Made to Run *"+TabbyNet$+"* "
- GOSUB "Error Log"
-
- ScreenLine$="Launching TabbyNet - "+TabbyNet$
- GOSUB "Screen_Log_Display"
- LONG IF FileErr3%=255
- ScreenLine$="TabbyNet Not Found - "+TabbyNet$
- GOSUB "Screen_Log_Display"
- ErrLine$ = "<<Error 08>> *"+TabbyNet$+"* Does not Exist at end of Indicated Path! "
- GOSUB "Error Log"
- ErrLine$ = " *** That is it folks, I am dropping to Finder *** "
- GOSUB "Error Log"
- ScreenLine$="***** Dropping to Finder *****"
- GOSUB "Screen_Log_Display"
- FOR j%=1 TO 1000
- GOSUB "Cursor_Spin"
- NEXT j%
- CURSOR 0
- IF rscs%=1 THEN rscs%=0:CALL CLOSERESFILE(Refnum%)
- END
- XELSE
- RUN TabbyNet$
- END
- END IF
- XELSE
- RUN RRHost$
- END
- END IF
-
- END IF
-
- CURSOR 0
- ErrLine$ = "<<Error 99>> "+" Really Big ERROR, Sequence Abort, attempting to Recover "
- GOSUB "Error Log"
- ScreenLine$="Launch Sequence Error, Running "+RRHost$
- GOSUB "Screen_Log_Display"
- LONG IF FileErr2%=255
- ScreenLine$="BBS Not Found - "+RRHost$
- GOSUB "Screen_Log_Display"
- ErrLine$ = "<<Error 09>> *"+RRHost$+"* Does not Exist at end of Indicated Path! "
- GOSUB "Error Log"
- ErrLine$ = " "+"Attempt is being Made to Run *TabbyNet* "
- GOSUB "Error Log"
-
- ScreenLine$="Launching TabbyNet - "+TabbyNet$
- GOSUB "Screen_Log_Display"
-
- LONG IF FileErr3%=255
- ScreenLine$="TabbyNet Not Found - "+TabbyNet$
- GOSUB "Screen_Log_Display"
- ErrLine$ = "<<Error 10>> *"+TabbyNet$+"* Does not Exist at end of Indicated Path! "
- GOSUB "Error Log"
- ErrLine$ = " *** That is it folks, I am confuzzzzzzed @?$-&!#, dropping to Finder *** "
- GOSUB "Error Log"
- ScreenLine$="***** Dropping to Finder *****"
- GOSUB "Screen_Log_Display"
- FOR j%=1 TO 1000
- GOSUB "Cursor_Spin"
- NEXT j%
- CURSOR 0
- IF rscs%=1 THEN rscs%=0:CALL CLOSERESFILE(Refnum%)
- END
- XELSE
- RUN TabbyNet$
- END
- END IF
- RUN RRHost$
- END
- END IF
-
- ON ERROR RETURN
-
- RETURN
-
-
- "Tabby_Launch_Error"
-
- GOSUB "Cursor_Spin"
- ScreenLine$="** Dropping to Finder, Launch Error **"
- GOSUB "Screen_Log_Display"
- GOSUB "Cursor_Spin"
- ErrLine$="<<Error"+STR$(ERROR)+">> Launch Error Possible Causes are as Follows: "
- GOSUB "Error Log"
- GOSUB "Cursor_Spin"
- ErrLine$="<<---------- BBS String - "+RRHost$+" "
- GOSUB "Error Log"
- GOSUB "Cursor_Spin"
- ErrLine$="<<-- Launch.Next String - "+NextLaunch$+" "
- GOSUB "Error Log"
- GOSUB "Cursor_Spin"
- ErrLine$="<<----- TabbyNet String - "+TabbyNet$+" "
- GOSUB "Error Log"
- GOSUB "Cursor_Spin"
- ErrLine$="<<--- BBS Folder String - "+BBSFolder$+" "
- GOSUB "Error Log"
- GOSUB "Cursor_Spin"
- ErrLine$="<<---- CallerLog String - "+CallerLog$+" "
- GOSUB "Error Log"
- GOSUB "Cursor_Spin"
- ErrLine$="<<-- One of the Above is Wrong! - Application Not There! - Invalid Pathname! - Can't Run A File! "
- GOSUB "Error Log"
- GOSUB "Cursor_Spin"
- ErrLine$="<<---- Config File String - "+ConfigFile$+" "
- GOSUB "Error Log"
- GOSUB "Cursor_Spin"
- ErrLine$="<<---- Next Launch String - "+NextLaunch$+" "
- GOSUB "Error Log"
- GOSUB "Cursor_Spin"
- ErrLine$="* *** Dropping to Finder, I am Confuzzzzzzed @%?$-*$%! "
- GOSUB "Error Log"
- ERROR = 0
- FOR j%=1 TO 1000
- GOSUB "Cursor_Spin"
- NEXT j%
- CURSOR 0
- IF rscs%=1 THEN rscs%=0:CALL CLOSERESFILE(Refnum%)
- END
- RETURN
-
-
- "Screen_Log_Display"
-
- GOSUB "Cursor_Spin"
- TEXT 0,12,0,0
- T=47:L=27:B=63:R=455:TEMP$=ScreenLine$
- CALL TEXTBOX(VARPTR(TEMP$)+1,LEN(TEMP$),T%, 1)
- DELAY 1500
- GOSUB "Cursor_Spin"
- RETURN
-
-
- "Error Log"
-
- GOSUB "Cursor_Spin"
- DEF OPEN "TEXTTSun"
- OPEN "A",9,"Sundial.Error"
- GOSUB "Cursor_Spin"
- ErrLine$=ErrLine$+TIME$+" "+DATE$
- PRINT #9, ErrLine$
- CLOSE #9
- GOSUB "Cursor_Spin"
- RETURN
-
-
-
- "Configure Menu"
-
- WINDOW CLOSE #1
- WND=1:GOSUB "Build Window"
- Field%=1:CURSOR 0
-
- ON DIALOG GOSUB "Handle Dialog"
- DIALOG ON
-
- "Loop"
-
- LONG IF Button%=1
- WINDOW CLOSE #1
- CURSOR 0
- RETURN
- END IF
- LONG IF Button%=2
- GOSUB "Resource Update"
- WINDOW CLOSE #1
- CURSOR 0
- RETURN
- END IF
-
- GOTO"Loop"
- DIALOG OFF
-
-
- "Handle Dialog"
-
- Act%=DIALOG(0):Ref%=DIALOG(Act%)
-
- IF Act%=3 THEN WINDOW Ref%:RETURN
- LONG IF Act%=1 AND Ref%=1
- Button%=2
- END IF
- LONG IF Act%=1 AND Ref%=2
- Button%=1
- END IF
- LONG IF Act%=6 OR Act%=7
- Field%=Field%+1
- IF Field%>2 THEN Field%=1
- EDIT FIELD #Field%
- END IF
- LONG IF Act%=2
- EDIT FIELD #Ref%
- Field%=Ref%
- END IF
- IF Act%=5 THEN "Format Window"
-
- RETURN
-
-
- "Frame Button"
-
- CALL INSETRECT(T%,-4,-4): ' Expand T,L,B,R
- PEN 3,3,1,8,0: ' Reset pensize
- CALL FRAMEROUNDRECT(T%,16,16): ' Now frame it
- CALL INSETRECT(T%,4,4):CALL PENNORMAL: ' Restore T,L,B,R
- RETURN
-
-
- "Build Window"
-
- IF WND=1 THEN WINDOW 1,"Configure Menu",(17,58)-(475,200),17
- GOSUB "Build Edits"
- RETURN
-
-
- "Format Window"
-
- CALL PENNORMAL
-
- LONG IF WINDOW(0)=1
-
- T%=10:L%=100:B%=34:R%=438:PEN 1,1,1,8
- CALL FRAMERECT(T%)
- T%=44:L%=101:B%=68:R%=439
- CALL FRAMERECT(T%)
- T%=83:L%=376:B%=103:R%=435:GOSUB "Frame Button"
- TEXT 0,12,0,0:T%=15:L%=25:B%=31:R%=95:TEMP$="BBS Name:"
- CALL TEXTBOX(VARPTR(TEMP$)+1,LEN(TEMP$),T%, 0)
- T%=105:L%=54:B%=121:R%=127:TEMP$="Sundial 2.0"
- CALL TEXTBOX(VARPTR(TEMP$)+1,LEN(TEMP$),T%, 0)
- TEXT 3,9,:T%=96:L%=182:B%=120:R%=368:TEMP$="Be sure to include a Colon ':'"+CHR$(13)+"at end of your BBSFolder Path."
- CALL TEXTBOX(VARPTR(TEMP$)+1,LEN(TEMP$),T%, 0)
- TEXT 0,12,:T%=49:L%=22:B%=65:R%=95:TEMP$="BBS Folder:"
- CALL TEXTBOX(VARPTR(TEMP$)+1,LEN(TEMP$),T%, 0)
- END IF
-
- TEXT 0,12,0,0
- CALL PENNORMAL
- RETURN
-
-
- "Build Edits"
-
- TEXT ,,0,0
-
- LONG IF WINDOW(0)=1
- TEXT 0,12,
- EDIT FIELD 1,RRHost$,(103,14)-(435,29),3,1
- EDIT FIELD 2,BBSFolder$,(104,48)-(436,63),3,1
- BUTTON 1 ,1," Save ",(376,83)-(435,103),1
- BUTTON 2 ,1,"Cancel",(376,113)-(439,133),1
- EDIT FIELD 1
- END IF
-
- RETURN
-
-
- "Resource Update"
-
- GOSUB "Cursor_Spin"
- a$=EDIT$(2)
- Check$=RIGHT$(a$,1)
- LONG IF Check$ <> ":"
- BBSFolder$=a$+":"
- BEEP
- Button%=0
- EDIT FIELD #2,BBSFolder$
- CURSOR 0
- GOTO "Loop"
- END IF
-
- RCount%=0
- FOR ResourceCount%=1770 TO 1771
-
- GOSUB "Cursor_Spin"
- RCount%=RCount%+1
- default$ = EDIT$(RCount%)
- StrHnd&=FN GETRESOURCE(CVI("STR "),ResourceCount%)
- CALL SETSTRING(StrHnd&,default$)
- CALL CHANGEDRESOURCE(StrHnd&)
- CALL UPDATERESFILE(Refnum%)
-
- NEXT ResourceCount%
- GOSUB "Cursor_Spin"
-
- RETURN
-
-
-
- "Check_Valid_Filenames"
-
- ErrFile%=0:FileErr1%=0:FileErr2%=0:FileErr3%=0
-
- ON ERROR GOSUB "Filename_Error"
-
- a%=1
- OPEN "I",2,LaunchFile$
- CLOSE #2
- LONG IF FileErr1%=255
- ErrLine$="<<Error 11>> *"+LaunchFile$+"* Next Event Not Found - Invalid Name or Path "
- GOSUB "Error Log"
- ScreenLine$="File Error <NOT FOUND> *"+LaunchFile$+"* "
- GOSUB "Screen_Log_Display"
- END IF
-
- a%=2
- OPEN "I",2,RRHost$
- CLOSE #2
- LONG IF FileErr2%=255
- ErrLine$="<<Error 12>> *"+RRHost$+"* BBS Not Found - Invalid Name or Path "
- GOSUB "Error Log"
- ScreenLine$="File Error <NOT FOUND> *"+RRHost$+"* "
- GOSUB "Screen_Log_Display"
- END IF
-
- a%=3
- OPEN "I",2,TabbyNet$
- CLOSE #2
- LONG IF FileErr3%=255
- ErrLine$="<<Error 13>> *"+TabbyNet$+"* TabbyNet Not Found - Invalid Name or Path "
- GOSUB "Error Log"
- ScreenLine$="File Error <NOT FOUND> *"+TabbyNet$+"* "
- GOSUB "Screen_Log_Display"
- END IF
-
- ON ERROR RETURN
- RETURN
-
-
-
- "Filename_Error"
-
- IF a%=1 THEN FileErr1%=255
- IF a%=2 THEN FileErr2%=255
- IF a%=3 THEN FileErr3%=255
- ERROR=0
-
- RETURN
-
-
- "Check_Valid_SystemFiles"
-
- ErrFile%=0:FileErr4%=0:FileErr5%=0:FileErr6%=0
-
- ON ERROR GOSUB "SystemFile_Error"
-
- a%=4
- OPEN "R",2,ConfigFile$
- Length&=LOF(2,1)
- CLOSE #2
- LONG IF Length&=0
- FileErr4%=255
- ErrLine$="<<Error 14>> *"+ConfigFile$+"* Config File Not Found - Invalid Name or Path! or Missing! or 1.4 version! or Damaged! "
- GOSUB "Error Log"
- ScreenLine$="File Error <NOT FOUND> *"+ConfigFile$+"* "
- GOSUB "Screen_Log_Display"
- XELSE
- FileErr4%=0
- ScreenLine$="* Loading Old Launch Time *"
- GOSUB "Screen_Log_Display"
- OPEN "R",1,ConfigFile$,348
- RECORD #1,0
- READ #1, Ignore$;57
- READ #1, UserLog$;41
- READ #1, CallerLog$;41
- READ #1, MsgPath$;80
- READ #1, Ignore$;89
- READ #1, LaunchTimeOld&
- READ #1, Ignore$;5
- READ #1, SysopName$;31
- CLOSE #1
- END IF
-
- a%=5
- DEF OPEN "TEXTQED1"
- OPEN "I",2,NextEvent$
- CLOSE #2
- LONG IF FileErr5%=255
- ErrLine$="<<Error 15>> *"+NextEvent$+"* NextEvent Not Found - Invalid Name or Path or Missing "
- GOSUB "Error Log"
- ScreenLine$="File Error <NOT FOUND> *"+NextEvent$+"* "
- GOSUB "Screen_Log_Display"
- XELSE
- ScreenLine$="* Loading Old Next Event Time *"
- GOSUB "Screen_Log_Display"
- OPEN "I",2,NextEvent$
- INPUT #2,nEvent$
- CLOSE #2
- TabbyHour%=VAL(LEFT$(nEvent$,2))
- TabbyMinute%=VAL(MID$(nEvent$,3,2))
- TabbySecond%=0
- END IF
- ON ERROR RETURN
- RETURN
-
-
-
- "SystemFile_Error"
-
- IF a%=4 THEN FileErr4%=255
- IF a%=5 THEN FileErr5%=255
- ERROR=0
-
- RETURN
-
-
-
-
- "Cursor_Spin"
-
- Cur%=Cur%+1
- IF Cur% > 131 THEN Cur%=128
- CURSOR Cur%
- RETURN
-
-
-
-
-
-
-
- Shareware price for mantissa is $30.00.
-
- The following is a list of features in Mantissa 3.2.
-
- Mantissa is a message base management utility, that helps SS/Tabby
- sysops maintain the high volume of echo and local mail that enter
- and leave their system.
-
- o Each message section can have a unique:
- o Day limit (0-999)
- o Section Limit (0-999)
- o Archive Limit (0-999k)*
- o Archive Location (any valid path)*
- o Archives can have unique or the same archive paths*
- o nonSection messages are automatically deleted*
- o Global Limit Set Option*
- o Global Day Limit Set Option*
- o Global Archive Limit Set Option*
- o Global Archive Location Set Option*
- o Control 'set' Buttons for Setting unique Pathnames*
- o Multiple ways to move from section to section*
- o List Manager Scroll Feature*
- o Popup Menus*
- o Control Button Forward/Reverse*
- o Menu Commands*
- o Command Keys*
- o On Line Help*
- o Full Support of Mac Interface
- o Delete by Age Only
- o Delete by Limit Only
- o Delete by both Age/Limit
- o Master Archive On/Off switch*
- o Individual Delete/Limit ON/OFF Markers*
- o Renumber Messages*
- o Renumber Forward from message #1*
- o Renumber Reverse from high Message No.*
- o Renumber Userlog, High message last read*
- o Renumber on Specified Dates Only*
- o Use STR's or Text file to save settings.*
- o Network and Remote Maintenance supported
- o Turn Mantissa Log On/Off
- o Select Location and Name of Mantissa Log
- o Epistle Generator
- o On/Off Epistle Generator
- o Max. Message Level Show Clearance
- o Select location/name of Epistle Report
- o Append/Erase Epistle Report
- o Keep .Bak's or discard them*
- o Security marker for High Clearance sections*
- o Major speed boost over 1.0
- o Tabby Compatible or Standalone * - New in 3.x version
-
-
- In addition to Mantissa 3.2 Registered users are provided with the
- updated Export 3.2. Export is a utility that is essential if you run
- SS and Tabby. Export 3.2 has been greatly expanded and turbo charged.
- Sysop are are given extraordinary control over data exported from their
- system. Export 3.2, Probe 3.2, PreStamp 3.2 and Sundial 3.2 are only
- being made available to Registered Mantissa users.
-
- Options Available in Export 3.2:
-
- o Point Message Support*
- o Process all/new Messages*
- o Delete NetMail as Processed
- o Notify Sysop of Export*
- o Summary of Last 5 Exports*
- o Append Origin to Netmail
- o D'Bridge Areafix support
- o Turn Log on/off
- o Select location/name of log
- o Append directly to Tabby Log
- o Full support of mac interface
- o Use Short/Long Reports
- o Node Alias for Netmail*
- o Use Generic Echoes/Seenby.bbs files*
- o Compatible with Origin Master (by Lance Rasmussen)
- o On Line Help*
- o Major speed boost over 2.52
- o Erase/Append to Log* * - New in 3.x version
-
-
- Utilities from, Lininger Technology:
-
- Free to all Registered Mantissa
- Versions
-
- Export 2.54 3.2
- Import 2.53 2.53 (update soon)
- Sundial 2.1 3.2
- PreStamp 2.0 3.2
- Mantissa 1.0 (demo) 3.2
- Probe .53 3.2
- R.Prestamp 2.0 2.0 (update soon)
- Sapphire 2.1t 2.1t (update soon)
- Epistle II 1.0 1.0
- TPort 1.0 1.0
- *Pleiades (1) -NA- .25 (Phase 1 only)
-
-
- Special thanks to,
- Tom Fitzsimmons, Mark Bryant, Lance Rasmussen & Ralph Merritt
- for their great ideas and for risking life and data while beta testing
- the above products.
-
-
- Mantissa($30.00):
- Lininger Technology
- Suite 'A'
- 385 Bowling Green Place
- Gahanna, Ohio 43230
- 614-471-6209 226/200
-
-
-
- Applications Freq. from 1:226/200 or 1:350/90
-
- For General Release:
-
- Epistle1.sit - Epistle II 1.0
- Export25.sit - Export 2.54
- Import25.sit - Import 2.53
- Mant10.sit - Mantissa 1.0
- PreStp20.sit - Prestamp 2.0
- Probe.53.sit - Probe .53
- RPreSt20.sit - R.Prestamp (Robot)
- Sapph21t.sit - Sapphire 2.1t
- Sundil21.sit - Sundial 2.1
- TPort10.sit - TabbyPort 1.0
- TurboT.sit - TurboPascal launch.next source (original by Pete Johnson)
- ZLaunch.sit - ZBasic launch.next source code
-
- No password required to get the above files
-
-
-
- For Restistered Mantissa Users:
-
- Export32.sit <password> - Export 3.21
- Mant32.sit <password> - Mantissa 3.2
- PreStp32.sit <password> - PreStamp 3.2
- Probe32.sit <password> - Proble 3.2
- Sundil32.sit <Password> - Sundial 3.2
-
- <Password> is the first 4 uppercase characters of the filename
- mentioned in your Mantissa registration cover letter
- that accompanied your master disk.
-
-
-
-
-
-
-
-